package com.funong.matrix.biz.system.domain;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.funong.matrix.biz.base.dao.SysConfigDao;
import com.funong.matrix.biz.base.entity.SysConfigEntity;
import com.funong.matrix.core.dto.QueryDTO;
import com.funong.matrix.core.dto.Result;
import com.funong.matrix.core.enums.IsDeletedEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @author : NaNa
 * @since : 2023-05-19 16:28
 **/
@Slf4j
@Service
public class SysConfigDomainDao {
    @Resource
    private SysConfigDao configDao;

    public Result queryConfigByCondition(QueryDTO<SysConfigEntity> queryDTO) {
        IPage<SysConfigEntity> configEntityIPage = configDao.queryConfigByCondition(queryDTO);
        return Result.success(configEntityIPage);
    }

    public Boolean saveOrUpdateConfig(SysConfigEntity configEntity) {
        boolean result;
        if (null == configEntity.getId()) {
            result = configDao.save(configEntity);
        } else {
            result = configDao.updateById(configEntity);
        }
        return result;
    }

    /**
     * 删除菜单
     *
     * @param configId
     * @return
     */
    public Boolean deleteConfig(Integer configId) {
        SysConfigEntity configEntity = configDao.getById(configId);
        if (null == configEntity) {
            return false;
        }
        configEntity.setIsDeleted(IsDeletedEnum.DELETED.getValue());
        boolean uptResult = configDao.updateById(configEntity);
        return uptResult;
    }
}
